package main

import "fmt"

// 声明闭包函数
// 可以通过匿名函数和闭包，实现函数在栈区的本地化操作
func test1() func() int {
	var a int
	return func() int {
		a++
		return a
	}
}

func main() {
	// 得到闭包的内部函数
	f := test1()

	// 不断调用
	for i := 0; i < 10; i++ {
		fmt.Println(f())
	}
}
